package com.yc.cloud.common.basic.utils;

import cn.hutool.core.util.StrUtil;
import com.yc.cloud.common.basic.config.PathConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.io.File;

@Component
public class PathUtils {

    private final PathConfig pathConfig;

    @Autowired
    public PathUtils(PathConfig pathConfig) {
        this.pathConfig = pathConfig;
    }

    /**
     * 获取基础路径
     *
     * @return 返回基础路径
     */
    public String getBasePath() {
        return pathConfig.getBasePath();
    }

    /**
     * 获取临时基础路径
     *
     * @return 返回临时基础路径
     */
    public String getTempBasePath() {
        return pathConfig.getTempBasePath();
    }

    /**
     * 获取基础URL
     *
     * @return 返回基础URL路径
     */
    public String getBaseUrl() {
        return pathConfig.getBaseUrl();
    }

    /**
     * 将文件路径转换为网络URL
     *
     * @param path 文件路径
     * @return 转换后的网络URL
     */
    public String convertNetUrl(String path) {
        if (StrUtil.isNotEmpty(path)) {
            return getBaseUrl() + (path.replace(getBasePath(), "").replace(File.separator, "/"));
        }
        return "";
    }
}
